package com.weibo.basic.alg.alert.server.config;

import com.weibo.basic.alg.alert.server.service.WechatAPI;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class BeanConfig {

    @Bean
    public Docket api() {
        //仅 /basicalg/**/路径下的接口在swagger进行展示
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.regex(".*" + Constants.PATH_PREFIX + ".*"))
            .build();
    }

    @Bean
    public WechatAPI newWechatApi() {
        Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://qyapi.weixin.qq.com/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
        return retrofit.create(WechatAPI.class);
    }
}
